To install, simply EXTRACT everything from the zip file to a desired location, and run the Ego PSSG Editor.exe file.
This tool will allow you to open and edit PSSG files for the EGO engine games. Textures can be previewed and modified through DDS conversion. Car models can be modified through glTF conversion.
After turning on the program simply click File -> Open and select a PSSG to edit.
Editing Textures:When a pssg file contains a car exterior or interior model, you can use the Models menu in the top bar to export or import the model. Models are converted as glTF files.
glTF files are a common 3D model format supported by many 3D modelling applications such as 3ds Max, and Blender. glTF files can be saved in two different formats or file extensions. They can be saved with the glb extension which contains all the data in a binary format. They can also be saved with the gltf extension which will contain the structure of the model as JSON data, with a potential to also include separate ".bin" and image files to store additional data.
Each mesh in the model is made up of several primitives where each primitive is tied to a different shader material (or shader instance). Shader instances reference the shader used to render the model, and define the inputs to the shader. Each game uses many different shaders which take various inputs. There is no easy way to export or import this shader data to another format. Because of this, the model importers require the materials in your glTF model to be named the same as the existing ShaderInstances within the pssg.
Certain shaders take more than one UV map per mesh as an input. Unfortunately the pssg does not store which texture or purpose each UV map is used for. Instead each UV map is mapped to an arbitrary texture in the glTF that may or may not be the actual purpose for the UV map. For example, I always map the 2nd UV map tied to a mesh as the occlusion texture. The UV map may not be meant to be used as occlusion texture, but it is a way for the importer to know how to figure out which UV map in the mesh to store at which position in the shader input. The following shows the expectation of the importer for each UV map. Note that the importer supports up to 4 uv maps. Each mesh may use anywhere from 0-4 uv maps.
You can get support by asking in the modding channels of the following communities:
If you think you've found a bug, post an issue here with as much information as possible.